<!DOCTYPE html>
<html lang='en'>

<head>
  <meta charset='UTF-8'>
  <meta http-equiv='X-UA-Compatible' content='IE=edge'>
  <meta name='viewport' content='width=device-width, initial-scale=1.0'>
  <title>Document</title>
  <script src='https://cdn.jsdelivr.net/npm/vue/dist/vue.js'></script>
</head>

<body>
  <div id='app'>
    <h2>{{fullName}}</h2>
    <h4>{{totalPrice}}</h4>
  </div>
  <script>
    const app = new Vue({
      el: '#app',
      data: {
        message: 'hello world',
        firstName: 'cui',
        lastName: 'fan',
        books: [{
          name: 'java',
          price: 99,
          count: 3
        }, {
          name: 'linux',
          price: 119,
          count: 2
        }, {
          name: 'vue',
          price: 89,
          count: 1
        }, ]
      },

      computed: {
        fullName() {
          return this.firstName + this.lastName
        },
        totalPrice() {
          return this.books.reduce((total, b) => {
            console.log(total);
            return total + b.price * b.count
          }, 1)
        }
      }
    })
  </script>
</body>

</html>